# MIPI ***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.*** --- This document details the identification, connection methods, system configuration, and troubleshooting for the **MIPI-DSI** display interface on the **Quectel Pi H1** single-board computer, using a Waveshare **8-inch DSI** IPS capacitive touchscreen as an example. # MIPI display connection Follow the diagram below for connection: Note: This display has 4 power supply interfaces, so choose any one. In this example, power is supplied at position "1". 1. **Type-C** interface. 2. **I2C** communication and power supply interface. 3. **5V** input/output interface. 4. **I2C** communication and power supply interface. Align the screw holes with the **Quectel Pi H1** single-board computer and tighten the screws to ensure firm contact between the pogo pins and the **40-pin** header. ```{image} images/image_SoJabVrVJoRTLwxE3fecuJPrnqf.webp :width: 3264px :height: 2324px ```
Back view of Waveshare 8-inch MIPI display
```{image} images/image_MoEwbb4nSooH2ixtbBqcCysJn6b.webp :width: 3264px :height: 2324px ```
Hardware connection setup
For specific login operations, please refer to [System login](<../../../Operating system/Debian/System login/System login.md>) ```{image} images/image_WDx3b6N20oSv7ExoL1WcCIoSn2e.webp :width: 1263px :height: 784px ```
Display interface
# Function usage ## Adjust display brightness and volume Note: After connecting the **MIPI** display, the resolution is not adjustable and is configured by developers, thus cannot be changed. After connecting the **MIPI** display and powering on, enter the **Gnome** desktop, click the battery icon in the upper right corner, and slide the volume bar and brightness bar to adjust the volume and brightness. The following is the operation diagram for adjusting display brightness and volume: ```{image} images/image_JmRvb2rhTonqR5xIBF5cBsW5nUh.webp :width: 1035px :height: 653px ```
Brightness and volume adjustment
## Touch function usage After connecting the **MIPI** display and powering on, you can use the touch function directly. ## Video playback function usage **GUI video playback**: Open the **Gnome** desktop, find the video file in the **Gnome** desktop's **File Manager**, and click the video file to play it. Note: Double-click the frame to play the video in fullscreen. ```{image} images/image_UMe9bcgdOocxLsxy7BDczUtJnGh.webp :width: 1075px :height: 650px ```
Desktop operation steps
```{image} images/image_YjRObgZBzot6VtxP608cSbQWnIb.webp :width: 1256px :height: 760px ```
Video playback interface
**VLC command-line video playback**: When playing via command line, follow these steps to enter the corresponding commands. ```shell export LIBGL_ALWAYS_SOFTWARE=1 #Modify the environment variable of this window to switch to CPU rendering during video playback VLC test.mp4 #Play video ``` The following is the video playback interface diagram: ```{image} images/image_HJdUb9XnzoksMqxpAvIcx4Zjn6y.webp :width: 1256px :height: 760px ```
Video playback interface
**GST command-line video playback function**: When playing via command line, you need to enter the following corresponding command. ```shell gst-launch-1.0 filesrc location=/home/pi/test.mp4 ! qtdemux ! h264parse ! avdec_h264 ! autovideosink ## The parameter after "location" should be modified according to the actual video file path ``` Command parameter description: - `gst-launch-1.0`: This is GStreamer's command-line tool for building and running a GStreamer pipeline. - `filesrc location=/home/pi/test.mp4`: Uses the `filesrc` element to read video files from the specified path `/home/pi/test.mp4`. - `! qtdemux`: Through the `!` symbol, connects the output of the previous element to the input of the next element. `qtdemux` is responsible for demultiplexing the MP4 container format, separating the audio and video streams within it. - `! h264parse`: Parses the separated H.264 video stream, reorganizing it into a format suitable for decoder processing. - `! avdec_h264`: Uses the software decoder `avdec_h264` to decode the H.264 video stream. This is a GStreamer plugin element based on FFmpeg. - `! autovideosink`: Automatically selects an appropriate video output component to display video content. Depending on the system environment, it selects the most suitable sink (e.g., `waylandsink` for Wayland, `ximagesink` for X11, etc.). The following is the video playback interface diagram: ```{image} images/image_VPe5bRay4oYd4zxDRejcwcManQf.webp :width: 1277px :height: 794px ```
Video Playback Interface
## Audio playback function usage **GUI audio playback**: Open the **Gnome** desktop, find the audio file in the **Gnome** desktop's **File Manager**, and click the audio file to play it. Note: To play audio, connect speakers to the Quectel-Pi-H1 single-board computer. ```{image} images/image_OaxPbVLa9oKicZxjBKycwKkCnue.webp :width: 1037px :height: 651px ```
Desktop operation steps
```{image} images/image_Qdm6bILKSoltwcxEVNMcS6gln7g.webp :width: 1272px :height: 796px ```
Audio playback interface
**VLC command-line audio playback function**: When playing via command line, follow these steps to enter the corresponding commands. ```shell export LIBGL_ALWAYS_SOFTWARE=1 #Modify the environment variable of this window to switch to CPU rendering during audio playback VLC 1.mp3 #Play audio ``` The following is the audio playback interface diagram: ```{image} images/image_BwINbI00Eoh5cNxG6zhcnYHYnlh.webp :width: 1272px :height: 796px ```
Audio playback interface
**GST command-line audio playback function**: When playing via command line, you need to follow the steps below to enter the corresponding commands. Note: After entering the corresponding command, the audio playback progress will be displayed in the terminal. ```shell gst-launch-1.0 uridecodebin uri=file:///home/pi/test.mp3 ! audioconvert ! audioresample ! autoaudiosink ## The parameter after "uri" should be modified according to the actual video file path ``` Command parameter description: - `gst-launch-1.0`: This is GStreamer's command-line tool for building and running a GStreamer pipeline. - `uridecodebin uri=file:///home/pi/test.mp3`: Uses the `uridecodebin` element to read and automatically decode audio files from the specified URI path `file:///home/pi/test.mp3`. This is an advanced element that can automatically detect media types and select appropriate demuxers and decoders. - `! audioconvert`: Through the `!` symbol, connects the output of the previous element to the input of the next element. `audioconvert` is used to convert audio formats, ensuring audio format compatibility between adjacent elements. - `! audioresample`: Resamples the audio, adjusting the audio sample rate to match the requirements of subsequent elements. - `! autoaudiosink`: Automatically selects an appropriate audio output component to play audio content. Depending on the system environment, it selects the most suitable audio output device, such as ALSA, PulseAudio, or other available audio backends. The following is the audio playback interface diagram: ```{image} images/image_YRswbrxn0omydGxct9DcFafpnjd.webp :width: 1352px :height: 792px ```
Audio playback interface
# Advanced function ## Dual display connection Dual display function allows simultaneous display on both **MIPI** and **HDMI** displays on the single-board computer. Note: To use this function, connect the **MIPI** display and connect an **HDMI** display via the **DP** interface using an adapter. Follow the diagram below for connection: ```{image} images/image_Ltx9bBkVToViplx9ASscv499nDh.webp :width: 2877px :height: 1280px ``` ## Dual display configuration After connecting the hardware, the system will automatically detect both display devices. By default: The **MIPI** display serves as the primary display showing the complete desktop environment, while the **HDMI** display serves as an extended display for extended viewing. You can switch dual display modes through the following methods: 1. Open **Settings** → **Displays**. 2. In the display settings, you can see the identification for both displays. The display identification is shown below: ```{image} images/image_RgksbnalRoOmZGxVZVjcLziMnf4.webp :width: 1352px :height: 792px ``` 3. Select the desired display mode: - **Joined display**: Two displays show different content and can be operated independently. - **Mirrored display**: Both displays show the same content. ## Dual display precautions 1. When using dual display, it is recommended to use a power supply with better performance. 2. When the two displays have different resolutions, display outputs may vary. 3. Some applications may need window positions readjusted to adapt to the dual-display environment. # Application scenarios - **Media entertainment terminal**: The **Quectel Pi H1** single-board computer can serve as a media entertainment terminal for playing videos, music, and viewing photos. - **Industrial data visualization platform**: The **Quectel Pi H1** single-board computer can serve as an industrial data visualization platform to display industrial data, monitor device status, and process data. - **Smart interactive terminal**: The **Quectel Pi H1** single-board computer can serve as a smart interactive terminal for various human-machine interaction applications. # Troubleshooting ## How to view system logs To view system logs, you need to connect the serial cable to a computer and use a serial debugging tool to view the logs. ## Black screen issue After properly connecting the device, if the display shows a **black screen** after powering on, it may be due to the following situations: 1. Power connection issue Check if the display's power supply interface is properly connected. Confirm that at least one of the 4 power supply interfaces is correctly connected. Ensure the power screws are tightened, and the pogo pins make good contact with the 40-pin interface. 2. Connection issue Check if the MIPI cable is properly connected and securely inserted. Confirm the cable direction is correct to avoid reverse insertion. Check the connector for physical damage. 3. System startup issue Confirm the system has started properly and loaded the display service. View system logs to confirm the display driver is loaded properly. ## Screen artifact issue After properly connecting the device, if the display shows **screen artifact** after powering on, it may be due to the following situations: 1. Signal interference heck if the MIPI cable is too long or of poor quality. Confirm whether there are strong electromagnetic interference sources around the cable. Try replacing it with a high-quality MIPI cable. 2. Hardware compatibility issue Confirm the display model used is fully compatible with **Quectel Pi H1**. Check if the display firmware version is up to date. ## Touch function abnormality Touch function abnormality may be due to the following situations: 1. Driver issue Confirm the system has loaded the touchscreen driver correctly. Check if I2C communication is established properly. 2. Calibration issue If the touch position is inaccurate, you may need to recalibrate the touchscreen through the touchscreen calibration tool in system settings.